package com.koocloud.electroplatemanage.mapper;

import com.koocloud.electroplatemanage.pojo.BtProductPlanUrgent;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.LinkedHashMap;
import java.util.List;

/**
 * 生产计划加急mapper层
 */
@Mapper
public interface ProductPlanUrgentMapper {
    /**
     * 插入生产计划加急表
     * @param btProductPlanUrgent
     * @return
     */
    Integer insert(BtProductPlanUrgent btProductPlanUrgent);
    /**
     * 查询排序号通过生产计划id
     * @param productionPlanId
     * @return
     */
    String selectOrderByProductionPlanId(String productionPlanId);


    /**
     * 获取生产计划加急的全列表
     * @return
     */
    List<LinkedHashMap> selectAllData();

    /**
     * 修改加急单的order
     * @param urgentId
     * @param order
     * @return
     */
    int update(@Param("urgentId")String urgentId,@Param("order") String order);

    /**
     * 根据id查询加急单的order
     * @param urgentId
     * @return
     */
    LinkedHashMap selectOrderById(String urgentId);

    /**
     * 二次加急
     * @param urgentId
     * @param order
     * @return
     */
    int expedited(@Param("urgentId")String urgentId,@Param("order") String order);
    /**
     * 将数据库中比当前order小的进行+1
     * @param order
     * @return
     */
    int updateOrder(String order);

    /**
     * 根据id物理删除加急单
     * @param urgentId
     * @return
     */
    Integer delete(String urgentId);

    /**
     * 根据urgentId获取生产计划表id
     * @param urgentId
     * @return
     */
    String selectIdByUrgentId(String urgentId);

    /**
     * 查询所有的order
     * @return
     */
    List<BtProductPlanUrgent> findExpedited();
}
